#include <unistd.h>
#include <stdio.h>

//int main()
//{
//    pid_t pid = fork();  // 调用fork，创建子进程
//    
//    if (pid > 0) 
//    {
//        printf("我是父进程，我的PID = %d, 我的父进程PID = %d\n", getpid(), getppid());
//    } 
//    else if (pid == 0) 
//    {
//       printf("我是子进程，我的PID = %d, 我的父进程PID = %d\n", getpid(), getppid());  
//    } 
//    else 
//    {
//        perror("fork失败");
//        return 1;
//    }
//    return 0;
//}

int main() 
{
    printf("父进程开始运行，PID = %d\n", getpid());
    pid_t pid = fork();  // 调用fork，创建子进程
    
    if (pid > 0) 
    { 
        printf("我是父进程，我的PID = %d, 我的父进程PID = %d\n", getpid(), getppid());
        sleep(30);
        printf("父进程退出\n");
    } 
    else if (pid == 0) 
    {
        while(1)
        {
            sleep(1);
            printf("我是子进程，我的PID = %d, 我的父进程PID = %d\n", getpid(), getppid());
        }
    } 
    else 
    {
        perror("fork失败");
        return 1;
    }
    return 0;
}




//int main()
//{
//    while(1)
//    {
//        sleep(1);
//        printf("I am a process, my pid = %d, my parent process pid = %d\n", getpid(), getppid());
//    }
//
//    return 0;
//}

